export default class CategoryModel {
  name: string = ''
  ips: Array<string> | null = null
  warningConditions: Array<string> | null = null

  constructor(data?: Partial<CategoryModel>) {
    if (data) {
      Object.assign(this, data)
    }
  }

  // 创建新节点的默认值
  static createDefault(): CategoryModel {
    return new CategoryModel({
      name: '',
      ips: null,
      warningConditions: null,
    })
  }

  // 更新节点数据的方法
  update(updatedData: Partial<CategoryModel>) {
    Object.assign(this, updatedData)
  }

  // 克隆节点的方法
  clone(): CategoryModel {
    return new CategoryModel({ ...this })
  }
}
